home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Input 64
/
Input_64_86-06_1986_Verlag_Heinz_Weise_de.d64
/
eliza .lsp
< prev
next >
Wrap
Text File
|
2023-02-26
|
5KB
|
135 lines
(eliza expr (lambda nil (msg (char
147) t "hallo, ich bin eliza !" t t
"bitte erzaehle mir von" t t
"deinen problemen :" t t) (dialog
ersatz-antworten) (msg t
"wir muessen unsere sitzung" t
"leider beenden." t t "tschuess !" t
t)))
(dialog expr (lambda (
ersatz-antworten) (prog (resultat
satz) loop1 (setq satz (readl)) (setq
resultat (finde-antwort satz
dialog-regeln)) (cond (resultat (
princ resultat)) (ersatz-antworten (
princ (car ersatz-antworten)) (setq
ersatz-antworten (cdr
ersatz-antworten))) (t (return nil)))
(terpri) (go loop1))))
(finde-antwort expr (lambda (s r) (
prog (resultat) loop (cond ((null r) (
return nil)) ((match (caar r) s) (
setq resultat (car (cdar r))) (nconc1
r (car r)) (rplaca r (cadr r)) (
rplacd r (cddr r)) (return resultat)))
(setq r (cdr r)) (go loop))))
(match expr (lambda (p s) (cond ((
null p) (null s)) ((eq (car p) (quote
*)) (cond ((null s) (null (cdr p))) ((
match (cdr p) s)) ((match p (cdr s))))
) ((null s) nil) ((eq (car p) (car s))
(match (cdr p) (cdr s))) ((and (
consp (car p)) (member (car s) (car p)
)) (match (cdr p) (cdr s))))))
(lerne expr (lambda nil (prog (eing
eing2 nr) (setq nr (add1 (length
dialog-regeln))) loop (msg t nr 2) (
setq eing (readl)) (cond ((equal eing
(quote (-))) (return nr)) ((equal
eing (quote (pp))) (pp dialog-regeln)
(go loop))) (msg nr 2) (setq eing2 (
readl)) (nconc1 dialog-regeln (print (
list eing eing2))) (setq nr (add1 nr))
(go loop))))
(ersatz-antworten value ((was meinst
du damit?) (komm bitte zur sache!) (
tatsaechlich?) (so so) (unsere zeit
ist bald um) (na und?)))
(dialog-regeln value (((ja) (ich
moechte es gerne genauer wissen)) ((
ja *) (kannst du mir das naeher
erlaeutern?)) ((* ja *) (das ist aber
interessant!)) ((nein) (wieso nicht?))
((nein * nicht *) (wirklich nicht?
wieso?)) ((aber *) (war dir meine
frage unangenehm?)) ((nein *) (was
wuerdest du denn dazu sagen?)) ((*
bist wie *) (in welcher hinsicht?)) ((
(bin bist ist waere waerst) *) (wieso
ist das fuer dich wichtig?)) ((du
bist *) (wie kommst du darauf?)) ((
weil *) (was meinst du damit?)) ((ich
(liebe hasse) *) (lassen wir die
gefuehle beiseite!)) ((ich (moechte
will) *) (und warum tust du es nicht?)
) ((ich weiss nicht *) (muss man das
denn wissen?)) ((ich weiss *) (bist
du dir sicher?)) ((ich heisse *) (
erzaehle mir mehr von dir)) ((wie
heisst du) (eliza - das weisst du
doch!)) ((* bin * (traurig
ungluecklich unzufrieden)) (was macht
dich denn traurig?)) ((* bin * (
gluecklich zufrieden)) (es geht dir
anscheinend gut?)) ((du bist *) (
macht es dir etwas aus?)) ((* keine
probleme) (das ist ja schoen!)) ((du
hast gesagt *) (habe ich das wirklich
gesagt?)) ((ich muss *) (das glaube
ich auch)) ((du musst *) (ja - das
tue ich)) ((ich habe *) (was bedeutet
das fuer dich?)) ((du hast *) (meinst
du wirklich?)) ((hallo *) (wie gehts?)
) ((guten (morgen abend tag) *) (
hallo - wie gehts?)) ((warum *) (ich
weiss nicht - was meinst du?)) ((wie
*) (versuche es herauszufinden!)) ((
kannst du *) (ich hoffe es)) ((ich
kann nicht *) (sage mir warum du es
nicht kannst!)) ((ich kann *) (kannst
du das wirklich?)) (((welche welcher
welches) *) (was meinst du?)) ((was *)
(was wuerdest du vorschlagen?)) ((
wer *) (an wen denkst du jetzt?)) ((
wo *) (du weisst es doch selbst)) ((
woher (weisst wusstest) du *) (oh -
ich hatte nur so eine ahnung!)) ((
wieso *) (das kann ich dir auch nicht
sagen)) ((ich bin *) (das glaube ich
dir nicht)) ((du bist *) (sprechen
wir lieber ueber dich!)) ((* eliza *)
(was haelst du von mir?)) ((* (frauen
freundin maedchen) *) (hast du
probleme mit frauen?)) ((* sex *) (
hast du sexuelle probleme?)) ((* gott
*) (was hat religion damit zu tun?)) (
(* tschuess *) (du willst schon
aufhoeren?)) ((* (rechner computer
c64 floppy programm) *) (ich verstehe
davon leider nichts)) ((* (jede jeder
jedes) *) (denkst du an jemand
bestimmten?)) ((* (blond rothaarig
bruenett) *) (was magst du an ihr?)) (
(* (geld taschengeld dm kohle) *) (
hast du ein finanzielles problem?)) ((
* (computer rechner) *) (was bedeuten
computer fuer dich?)) ((* (idiot
scheisse bloede geil) *) (bitte nicht
in diesem ton!)) ((* vielleicht *) (
du bist dir nicht sicher?)) ((*
manchmal *) (und sonst?)) ((* weil *)
(ist das der einzige grund?)) ((*
nicht *) (warum nicht?)) ((* nie *) (
man soll nie nie sagen!)) ((* (
wirklich sehr total) *) (warum
betonst du das so?)) ((* mein *) (und
was weiter?)) ((* ich *) (redest du
gern ueber dich?)) ((* du *) (reden
wir lieber ueber dich!)) ((* dich *) (
das hoere ich gerne!))))
(elifns value (eliza dialog
finde-antwort match lerne
ersatz-antworten dialog-regeln elifns)
)
nil